#include <stdio.h>
#include <conio.h>
#include <string.h>
/*DECLARACION PRIMER ESTRUCTURA*/
struct fecha {
	int dia, anio;
	char mes[15];
	};
/*DECLARACION SEGUNDA ESTRUCTURA*/
struct modelo {
	int legajo;
	char nombre[50], direccion[50];
	float sueldo;
	/*ESTRUCTURA DENTRO DE ESTRUCTURA*/
	struct fecha ingreso;
	};
void main (){
	/*DECLARACION DE VARIABLES Y LLAMADA A LAS ESTRUCTURAS*/
	int i, j;
	float sueldoaux;
        char vector_char[50];
	struct modelo emp[3], aux;/*EJEMPLO DE VARIAS LLAMADAS A LA MISMA ESTRUCTURA*/
	clrscr();
	/*INGRESO DE DATOS*/
	for (i=0;i<3;i++){
	clrscr();
		printf("ingrese legajo (entero): ");
		scanf("%d", &emp[i].legajo);
		printf("Ingrese nombre (hasta 10 caracteres): ");
		fflush(stdin);
		gets(emp[i].nombre);
                /*VALIDACION PARA QUE LA CADENA NO CONTENGA MAS DE 10 CARACTERES*/
		while (strlen(emp[i].nombre)<1 || strlen(emp[i].nombre)>10)
			{
			printf("Re-ingrese nombre solo 10 (caracteres): ");
			fflush(stdin);
			gets(emp[i].nombre);
			}
		printf("Ingrese fecha de ingreso \nIngrese dia (entero): ");
		scanf("%d", &emp[i].ingreso.dia);
		printf("Ingrese mes (caracteres): ");
		fflush(stdin);
		gets(emp[i].ingreso.mes);
		printf("Ingrese anio (entero): ");
		scanf("%d", &emp[i].ingreso.anio);
		printf("");
		}
	/*ORDENAMIENTO POR NOMBRE (COPIA TODA LA ESTRUCTURA ADENTRO DE OTRA)*/
	for (i=0;i<3-1;i++)
		{
		for (j=i+1;j<3;j++)
			{
			if(strcmp(emp[i].nombre, emp[j].nombre)>0)
				{
				aux=emp[i];
				emp[i]=emp[j];
				emp[j]=aux;
				}
			}
		}

	/*SALIDA POR PANTALLA*/
        clrscr();
	printf("Fecha de ingreso     Nombre de empleado\n");
	for (i=0;i<3;i++){
		printf("%d de %s de %d ", emp[i].ingreso.dia, emp[i].ingreso.mes, emp[i].ingreso.anio);
		printf("%s\n", emp[i].nombre);
		}
	/*COPIAR CADENAS*/
	strcpy (emp[2].nombre, vector_char);
	printf("\n la cadena pasada a otra variable es %s",vector_char);
	getch();
	/*Y FIN, JE JE*/
	}
